<?php

namespace App\Http\Controllers;

use App\Http\Requests\PasswordRequest;
use Illuminate\Http\Request;
use Auth;
class PasswordController extends Controller
{
    /**
     * PasswordController constructor.
     */
    public function __construct()
    {
        // 如果使用系统的中间件，那么你的登录路由一定是/login路由
        // $this->middleware('auth');
        // 调用自己创建的路由
        //  make:middleware里面创建一个自定义的中间件
        //如果要使用自己的路由还需要去Kernel.php 里面配置
        // 在$routeMiddleware里面 'checkLogin' => CheckLogin::class,
        $this->middleware('checkLogin');
        //except是除了什么之外都受中间件的控制
        //only是只有那些方法受到中间件的控制
    }

    public function changePassword(){
        // 加载修改密码模板
        return view('password');
    }
    /**
     * 处理修改密码的操作
     */
    public function password(Request $request,PasswordRequest $passwordRequest){
           // 获取post数据
         $post=$request->all();
         //获取当前用户的旧数据
         $user=Auth::user();
         // 修改用户名
         $user->name = $post['name'];
        //判断密码是否填写,如果填写了密码,将用户的密码修改
        if ($post['password']){
            $user->password = bcrypt($post['password']);
        }
        //将用户数据保存
        $user->save();
        //设置闪存信息并返回
        session()->flash('success','资料修改成功');
        return redirect('/');
    }

}
